"""
构建基础柱状图
"""

from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType

# 构建柱状图对象
bar = Bar()
# 添加x轴和y轴
# label_opts=LabelOpts(position="right") 把数据放到最右边
bar.add_xaxis(["中国","英国","美国"])
bar.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
# 反转x轴和y轴
bar.reversal_axis()

bar2 = Bar()
bar2.add_xaxis(["中国","英国","美国"])
bar2.add_yaxis("GDP",[50,30,35],label_opts=LabelOpts(position="right"))
bar2.reversal_axis()

bar3 = Bar()
bar3.add_xaxis(["中国","英国","美国"])
bar3.add_yaxis("GDP",[90,70,60],label_opts=LabelOpts(position="right"))
bar3.reversal_axis()

bar4 = Bar()
bar4.add_xaxis(["中国","英国","美国"])
bar4.add_yaxis("GDP",[120,90,105],label_opts=LabelOpts(position="right"))
bar4.reversal_axis()

# 构建时间线对象
timeline = Timeline(
    {
        # 设置主题
        "theme": ThemeType.CHALK
    }
)

# 在时间线对象内添加柱状图对象
timeline.add(bar,"2021年GDP")
timeline.add(bar2,"2022年GDP")
timeline.add(bar3,"2023年GDP")
timeline.add(bar4,"2024年GDP")

# 设置自动播放
timeline.add_schema(
    play_interval=1000,     # 自动播放时间间隔，单位毫秒
    is_timeline_show=True,  # 是否在自动播放的时候，显示时间线
    is_auto_play=True,      # 是否自动播放
    is_loop_play=True       # 是否循环自动播放
)

# 通过时间线绘图
timeline.render("基础柱状图-时间线.html")